General Packet Radio Service (“GPRS”) is a standard for wireless communications that supports a wide range of bandwidths. In GPRS packet-based services, the communication channels are shared on an as-needed basis rather than being dedicated to only one user at a time. As such, the GPRS standard is a best-effort service on the Second Generation (“2G”) and Third Generation (“3G”) wireless cellular communication systems for mobile communications.
The GPRS Tunneling Protocol (“GTP”) is a group of Internet Protocol (“IP”) based communications protocols used to carry GPRS within, for example, Global System for Mobile Communication (“GMS”), Universal Mobile Telecommunications System (“UMTS”) and Long Term Evolution (“LTE”) networks. GTP can be decomposed into the GTP control plane protocol (“GTP-C”) used to carry tunnel establishment signals, and the GTP user plane protocol (“GTP-U”) used to carry encapsulated data-related signals.
A proxy node may be a GTP-U node that supports one or more GTP-U endpoints, which are also known as GTP-U interfaces. Each GTP-U endpoint is configured with an Internet Protocol (“IP”) address with UDP socket 2152 that identifies a source and/or destination for GTP-U data packets. A pair of GTP-U endpoints between two GTP-U nodes is known as a GTP-U data path. Each GTP-U data path has one or more GTP-U tunnels. GTP-U tunnels carry GTP-U data packets (also known as G-PDUs) between a pair of GTP-U tunnel endpoints. A tunnel endpoint is identified by a tunnel identifier, e.g., tunnel endpoint identifier (“TEID”). A TEID identifies a unicast GTP-U tunnel endpoint in the receiving GTP-U node for a given GTP-U endpoint. The TEID is included in a GTP header of a GTP-U packet.
Each tunnel between two GTP-U endpoints is established via control plane procedures defined in protocols such as GTP-C, Radio Access Network Application Part (“RANAP”), S1-Application Protocol (“S1-AP”) and X2 Application Protocol (“X2-AP”). The control functions for GTP-U resource allocation and tunnel setup are performed by the GTP Control Plane Entity of the GTP-U node. The transmission and reception functions for GTP-U packets are performed by the GTP Data Plane Entity of the GTP-U node.
The receiving end side of a unicast GTP tunnel, i.e., the receiving node, locally assigns the GTP-U node IP address and TEID value that the transmitting side, i.e., the transmitting node, has to use. The IP addresses and TEID values are exchanged between tunnel endpoints using control plane messaging (GTP Control Plane). A TEID of zero (“0”) is reserved for GTP-U signaling messages. G-PDUs are carried with a TEID other than zero.
A network controller can be used as a gateway or proxy acting as an intermediary between a larger set of GTP-U access nodes and a smaller set of GTP-U code nodes. The network controller performs the relay or mapping (translation) functions between a larger and smaller set of GTP-U paths for uplink and downlink G-PDUs. While the 3rd Generation Partnership Project (“3GPP”) standard specification mentions using a network controller, the specification does not state how a network controller, such as a Home Evolved Node B (“eNB”) Gateway, terminates the GTP-U tunnels, or how the G-PDUs are relayed between the larger and smaller sets of GTP-U paths.
A proposed approach for supporting large number of data paths in an integrated communication system describes using a network controller for mapping G-PDUs between the larger and smaller set of GTP-U paths. The proposed approach defines a network controller responsible for interpreting or intercepting GTP-related signaling procedures and control messages between the GTP-U access nodes and the GTP-U core nodes. Each subscriber associated signaling procedure requesting the addition of a subscriber GTP-U tunnel creates individual mapping entries in a mapping table of the network controller. The individual mapping entries are used for mapping inbound and outbound traffic based on the GTP-U node IP address and the TEID.
However, this approach is limited to wireless communication areas that support a limited number of subscribers with limited mobility, where each GTP-U access node is more or less independent from other GTP-U access nodes located in the same wireless communication area. For instance, this proposed approach results in a mapping table with a number of mapping entries that is directly proportional to the number of GTP-U tunnels. The size of the mapping table is a limitation given that, as the number of subscribers grows in a wireless communication area, the mapping table in the network controller becomes very large. A large mapping table makes it difficult to perform simple and efficient table lookups for each individual inbound and outbound GTP-U packet.
Further, each mapping entry in the mapping table has to be individually managed through a signaling procedure. The more mapping entries a mapping table has, the more procedures would need to be performed. In fact, every time a GTP-U tunnel is added due to subscriber activity and every time a GTP-U tunnel is removed due to user inactivity, the network controller performs a number of internal control procedures to update the mapping table. The central processing unit (“CPU”) cycles associated with such signaling and control procedures can become a significant load for the network controller as the number of subscribers grows in a wireless communication area.
Moreover, subscriber mobility between two GTP-U access nodes in a wireless communication area is not transparent to the core network. Using existing signaling procedures to update the mapping table causes undesirable signaling load on the GTP control plane entity of the core network during handovers.